/*
 * AttrImpl.h
 *
 *  Created on: Apr 19, 2009
 *      Author: wrice
 */

#ifndef ATTRIMPL_H_
#define ATTRIMPL_H_
#include "DOMCoreImp.h"
namespace DOMCoreImp {

class AttrImp : public NodeImp, IMPLEMENTS( Attr ) {
protected:
	friend class DocumentImp;
	AttrImp(DOMString nodeName, DocumentImp * ownerDocument);

public:
	virtual unsigned short getNodeType();

	virtual DOMString getName();
	virtual DOMString getValue();
	virtual void setValue(DOMString) throw(DOMExceptionPtr);

	// blocking child
	virtual Node * insertBefore( Node * newChild, Node * refChild ) throw(DOMExceptionPtr);
	virtual Node * replaceChild( Node * newChild, Node * oldChild ) throw (DOMExceptionPtr);
	virtual Node * removeChild( Node * oldChild) throw(DOMExceptionPtr);
	virtual Node * appendChild( Node * newChild) throw(DOMExceptionPtr);
};

}

#endif /* ATTRIMPL_H_ */
